/*****************************************************
Эта программа была произведена 
Автоматическим Программным Генератором
CodeWizardAVR V1.24.1x Professional
© Copyright 1998-2004 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.ro
e-mail:office@hpinfotech.ro

Проект  : Frequency
Версия  : 1.00
Дата    : 01.08.2006
Автор   : Лебедев М.Б.
Компания: Home
Комментарии: Пример программы


Тип чипа            : AT90S2313
Тактовая частота    : 4,096000 MГц
Модель памяти       : Tiny
Размер внешнего SRAM: 0
Размер Стека Данных : 32
*****************************************************/

#include <90s2313.h>

// программа обработки прерывания по переполнению Таймера/Счетчика 0
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
// Переинициализация значения Таймера/Счетчика 0
TCNT0=0xFE;
// Здесь поместите ваш код

}

// Здесь объявите ваши глобальные переменные

void main(void)
{
// Здесь объявите ваши локальные переменные 

// Инициализация портов ввода/вывода
// Инициализация Порта B
// Функция0=Выход Функция1=Выход Функция2=Выход Функция3=Выход 
// Функция4=Выход Функция5=Выход Функция6=Выход Функция7=Выход 
// Состояние0=0 Состояние1=0 Состояние2=0 Состояние3=0 
// Состояние4=0 Состояние5=0 Состояние6=0 Состояние7=0 
PORTB=0x00;
DDRB=0xFF;

// Инициализация Порта D 
// Функция0=Вход Функция1=Вход Функция2=Вход Функция3=Вход 
// Функция4=Вход Функция5=Вход Функция6=Вход 
// Состояние0=T Состояние1=T Состояние2=T Состояние3=T 
// Состояние4=T Состояние5=T Состояние6=T (T - третье состояние)
PORTD=0x00;
DDRD=0x00;

// Инициализация Таймера/Счетчика 0 
// Источник тактовой частоты: Системная тактовая частота
// Значение тактовой частоты: 4,000 кГц
TCCR0=0x05;
TCNT0=0xFE;

// Инициализация Таймера/Счетчика 1 
// Источник тактовой частоты: Системная тактовая частота
// Значение тактовой частоты: Таймер 1 Остановлен
// Режим: Normal top=FFFFh
// OC1 выход: Откл.
// Подавление Шума: Выкл.
// Вход Захвата по Спадающему Фронту
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
OCR1H=0x00;
OCR1L=0x00;

// Инициализация Внешних Прерываний
// INT0: Выкл.
// INT1: Выкл.
GIMSK=0x00;
MCUCR=0x00;

// Инициализация Прерываний Таймеров/Счетчиков
TIMSK=0x02;

// Инициализация Аналогового Компаратора
// Аналоговый Компаратор: Выкл.
// Аналоговый Компаратор Вход Захвата Таймером/Счетчиком 1: Выкл.
// Выход Аналогового Компаратора: Выкл.
ACSR=0x80;

// Разрешение глобальных прерываний
#asm("sei")

while (1)
      {
      	// Здесь поместите ваш код

      };
} 
